from env_variable_manager import EnvironmentVariableManager


def switch_jdk(jdk_path, scope="user"):
    """
    切换 JDK 版本

    Args:
        jdk_path (str): 要切换到的 JDK 安装路径
        scope (str): 环境变量作用域，"user" 或 "system"，默认为 "user"
    """
    manager = EnvironmentVariableManager()

    # 检查 JDK 路径是否有效
    if not jdk_path or not jdk_path.strip():
        print("错误: JDK 路径不能为空。")
        return

    # 移除旧的 JDK 路径
    old_java_home = manager.get_environment_variable("JAVA_HOME", scope)
    if old_java_home:
        manager.remove_from_path(f"{old_java_home}\\bin", scope)
        manager.delete_environment_variable("JAVA_HOME", scope)

    # 设置新的 JDK 路径
    if manager.set_environment_variable("JAVA_HOME", jdk_path, scope):
        manager.append_to_path(f"{jdk_path}\\bin", scope)
        print(f"成功切换到 JDK: {jdk_path}")


def main():
    # 在这里直接指定要切换的 JDK 路径和作用域
    jdk_path = r"C:\Program Files\Java\jdk-11.0.12"
    scope = "user"

    switch_jdk(jdk_path, scope)


if __name__ == "__main__":
    main()